package com.huajin.codetest.collection;

import java.io.ObjectInputFilter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;

import org.apache.commons.collections4.ListUtils;

import cn.hutool.core.collection.ListUtil;

public class ListPartitionTest {
	
	public static void main(String[] args) {
		List<Integer> element = new ArrayList<>();
		element.add(1);
		element.add(2);
		element.add(3);
		element.add(3);
		element.add(4);
		element.add(5);
		element.add(6);
//		List<List<Integer>> list = ListUtils.partition(element, 2);
//		System.out.println(list);
//		List<List<Integer>> partition = ListUtil.partition(element, 2);
//		System.out.println(partition);
		
//		for (Integer integer : element) {
//			if (integer == 3) {
//				element.remove(integer);// java.util.ConcurrentModificationException
//			}
//		}
//		System.out.println(element);
		
		//System.out.println(element.stream().filter(o -> o <= 5).collect(Collectors.toList()));
		
		for (int i = 0; i < element.size(); i++) {
			if (element.get(i) == 3) {
				element.remove(i);//长度问题，漏删除
			}
		}
		System.out.println(element);
		
//		Iterator<Integer> iterator = element.iterator();
//		while (iterator.hasNext()) {
//			Integer next = iterator.next();
//			if (next == 3) {
//				iterator.remove();
//			}
//		}
//		System.out.println(element);
		
		
		//-- https://www.cnblogs.com/lingyejun/p/10048614.html
	}

}
